using System;
using System.Collections.Generic;
using System.Text;

namespace Developex.DatabaseWrapper
{
	/// <summary>
	/// Base interface
	/// </summary>
	public interface IFieldBase
	{
		/// <summary>
		/// Get field name
		/// </summary>
		string Name { get; }

		/// <summary>
		/// get/set owner of field
		/// </summary>
		Row Parent { get; set; }

		/// <summary>
		/// Add field to select query
		/// </summary>
		/// <param name="qb">query builder</param>
		void AddToSelectQuery(QueryBuilder qb);

		/// <summary>
		/// Add joins and etc.
		/// </summary>
		/// <param name="qb">query builder</param>
		void PrepareForSelectQuery(QueryBuilder qb);
	}
}
